iT邦幫忙

2023 iThome 鐵人賽

DAY 18
0
AI & Data

利用 Databricks 學習 ML/LLM 開發系列 第 18

Day18 - Databricks Repos 功能細項討論與限制

  • 分享至 

  • xImage
  •  

由於官網的文件只有英文,但是內容非常實用,今天這篇先來將需要的資訊簡單翻譯說明一下。(註:已經消化整理,並非完整翻譯)

File and repo size limits

  • 每一個 repo 的限制:

    • 每 branch 的限制是 200 MB
    • 每個檔案的限制是 200 MB
    • 超過 10 MB 的檔案無法在 Databricks UI 上顯示
  • Databricks 對於每個 repo 的建議設定:

    • 每個 repo 的檔案數量不要超過 10,000 個
    • 每個 repo 的 notebook 數量不要超過 5,000 個
  • 如果 repo 還是有超過限制,可以參考 sparse checkout

Maximum number of repos per workspace

  • 每個 workspace 最多可以有 2000 個 repo

Repo configuration

Databricks repo 的內容實際儲存的位置?

  • Databricks repo 的內容會被儲存在 Databricks 的 DBFS 中,並且會被自動備份。Non-notebook 檔案保留 30 天。

是否支援 on-premises or self-hosted Git servers?

  • 只要支援 internet 存取的 Git server 都可以使用,也包括 Bitbucket Server。self-managed 的 Git server 也可以使用,但是需要設定 proxy。

是否支援 .gitignore files?

  • Yes

是否可以建立 top-level folders 而非 user folders?

  • 只有具備 admin 權限的使用者可以建立 top-level folders

是否支援 Git submodules?

  • No

workspace 是否可以關閉 Repos 功能?

  • 透過 admin settings page 關掉 toggle

Source Management

為何切換到不同 branch 之後,notebook dashboard 消失了?

  • 目前是已知限制。
  • 可以手動設定 dashboard 的 source 來解決這個問題。 例如 ``````.ipynb` (the Jupyter notebook format)

是否支 IPYNB notebook files?

  • Yes

是否支援 branch merging?

  • Tes

可以在 Databricks repo 直接操作 branch deletion?

  • No. 請在 Git server 上刪除 branch。

如果 cluster 上已經安裝了一個 library,而且 repo 中也有一個同名的 library,會發生什麼事?

  • cluster 上的 library 會被 import 進來。

是否可以在執行 job 之前,自動 pull 最新的 repo 內容,而不用依賴外部的 orchestration tool?

  • No. 但是可以透過 pre-commit 方式在 Git server 上設定。

Can I export a repo?

  • No. 但是可以透過 Databricks CLI 來 export workspace 內容。

Security, authentication, and tokens

Databricks Repos 內容的加密方式?

  • Databricks Repos 的內容是透過 Databricks 使用 platform-managed key 來加密。
  • 不支援使用 Customer-managed keys 來加密。

GitHub token 是如何儲存的? Databricks 的員工可以取得 token 嗎?

  • 認證 token 是儲存在 Databricks control plane 中,而且 Databricks 的員工只能透過一個臨時的憑證來取得存取權限,並且會紀錄存取。
  • Databricks 會紀錄 token 的建立與刪除,但是不會紀錄 token 的使用。
  • GitHub enterprise 會紀錄 token 的使用,其他的 Git service 也有可能會有類似的功能。

Does Repos support GPG signing of commits?

  • No

Does Repos support SSH?

  • No. Only HTTPS.

CI/CD and MLOps

Incoming changes clear the notebook state

  • Cell outputs 不會被紀錄

Prevent data loss in MLflow experiments

  • MLflow experiment data 在 notebook 中可能會遺失
  • Databricks 建議不要在 repo 中重新命名 notebook。

Can I create an MLflow experiment in a repo?

  • No. MLflow experiments 必須要在 workspace 中建立。

如果一個 notebook 正在執行,而且同時有一個 Git 操作正在進行,會發生什麼事?

  • 要非常小心避免這種狀況,會造成不可預期的結果。 =.=

Non-notebook files: workspace files in Repos

如何執行 non-Databricks notebook files 像是 .py file?

  • Bundle and deploy as a library on the cluster
  • Pip install
  • 在 notebook 裡面呼叫 %run inline 方式執行
  • 可以透過 custom container image 將常用的 library 預先安裝好. 參考

Reference:


上一篇
Day17 - Databricks Repos
下一篇
Day19 - Databricks 上的 Storage
系列文
利用 Databricks 學習 ML/LLM 開發30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言